package com.zimmur.app.mocolink.dao;

import com.zimmur.app.mocolink.domain.model.ShoppingCart;
import com.zimmur.app.mocolink.domain.model.ShoppingCartExample;
import com.zimmur.app.mocolink.domain.vo.ShoppingCartVo;

import java.util.List;
import org.apache.ibatis.annotations.Param;

public interface ShoppingCartMapper {
    int countByExample(ShoppingCartExample example);

    int deleteByExample(ShoppingCartExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(ShoppingCart record);

    int insertSelective(ShoppingCart record);

    List<ShoppingCart> selectByExample(ShoppingCartExample example);

    ShoppingCart selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") ShoppingCart record, @Param("example") ShoppingCartExample example);

    int updateByExample(@Param("record") ShoppingCart record, @Param("example") ShoppingCartExample example);

    int updateByPrimaryKeySelective(ShoppingCart record);

    int updateByPrimaryKey(ShoppingCart record);
    /**
     * 查询用户购物车数据
     *@Description
     *@param userId
     *@return 
     *@author zcx
     *@Time 2017年10月13日 下午4:21:25
     */
    List<ShoppingCartVo> selectVoByUserId(Integer userId);
    /**
     * 
     *@Description
     *@param cartIds
     *@param quantity
     *@return 
     *@author zcx
     *@Time 2017年10月13日 下午4:21:22
     */
    int updateCartQuantity(@Param("cartIds")List<Integer> cartIds,@Param("quantity")Integer quantity);
    /**
     * 根据购物车主键查询商品购物车信息
     *@Description
     *@param cartIds
     *@return 
     *@author zcx
     *@Time 2017年10月16日 上午9:58:26
     */
    List<ShoppingCartVo> selectVoByCartIds(@Param("cartIds")List<Integer> cartIds);
    /**
     * 查询购物车里总数量为零的商品ID
     *@Description
     *@param userId
     *@return 
     *@author zcx
     *@Time 2017年10月17日 上午9:17:38
     */
    List<Integer> selectGoodsIdByQuantity(@Param("userId")Integer userId);
}